package com.jly.edu.service;

import com.jly.edu.entity.SysUser;

import java.util.List;

public interface SysCommonService {

    List<SysUser> listByMenuId(Long menuId);

    /**
     * 根据userId获取所有的资源id
     * @param userId
     * @return
     */
    List<Long> getNavMenuIds(Long userId);

    /**
     * 获取最大排序号
     * @param parentId
     * @return
     */
    Integer maxOrderNum(Long parentId);

    /**
     * 封装用户的权限 返回string 如：ROLE_admin,sys:user:save
     * @param userId
     * @return
     */
    String getUserAuthorityInfo(Long userId);

    /**
     * 删除某个用户的权限信息
     * @param username
     */
    void clearUserAuthorityInfo(String username);

    /**
     * 删除所有与该角色关联的用户的权限信息
     * @param roleId
     */
    void clearUserAuthorityInfoByRoleId(Long roleId);

    /**
     * 删除所有与该菜单关联的所有用户的权限信息
     * @param menuId
     */
    void clearUserAuthorityInfoByMenuId(Long menuId);

}
